Drafts 5.4: Siri Shortcuts, WordPress, and More

Drafts 5 was recently updated to version 5.4, which brings a host of new features. While there is support for iOS 12’s Siri shortcuts and all that they have to offer, there are also other important features that have improved the app’s capabilities significantly.

Siri & Shortcuts Support

Drafts now supports integration with the Shortcuts app via an action step. Like with Workflow before it, there is a “Run Shortcut” step which will kick off a Shortcuts shortcut1 with template information from a draft. This will replace “Run Workflow”, though both action steps will remain for those who need features in Workflow that aren’t yet in the Shortcuts app. In most cases, your migrated shortcuts will behave in the same way as before, and will work seamlessly with how you use Drafts.

Thanks to the Siri shortcuts support, Drafts can now do even more. Drafts starts with a couple of built-in shortcuts: capture clipboard and view draft. Both of these will show up in Settings → Siri & Search when you first update. Over time, other shortcuts for specific actions, drafts, or workspaces will start to show up in your list. Drafts provides not only these activity-based shortcuts, but also enables user-created shortcut types as well.

Using Siri, I can enter any workspace, draft, or action that I’ve created in my setup. I can add them once they show up in Settings, or I can tap on the respective menu and edit a single item: within the edit screen, there is an ‘Add to Siri’ button in the bottom right. Once you tap on that button, you will enter a Siri screen to speak a custom phrase.

Add to Siri is found in workspaces, drafts, and actions.

You can add any action to Siri, but remember that actions triggered via a phrase or from the Shortcuts app run as if acting on a new blank draft, so it will not be suitable for all actions. Following the advent of workspaces, I developed the idea of modules in my original Drafts 5 review. Thanks to the Drafts 5.2 update, I can activate a module via an action, and now subsequently a Siri shortcut; I absolutely love working in this manner. If I’m about to start working on a post, I can simply invoke it with “Hey Siri, load my writing module”. Drafts will open to the proper workspace, and load the specified action groups automatically. I can do this for any module for which I create an action. In my experience, using Siri to load my working environment is very quick and actually helps me capture things faster in Drafts.

Using Apple’s standard dictation in any app has helped me get more done, but Drafts’ implementation of the feature is better. Through a clever hack, Agile Tortoise’s Greg Pierce has come up with a way to allow dictation to be stopped and started over and over until the user taps a button indicating they are done, bypassing the standard time limit; the user can also pause the dictation and restart it. I’ve used this method before to dictate entire posts. Now, all I have to do is speak “Dictate Post” and Drafts is opened to the dictation interface for me to start composing. Once completed, a new draft is saved with the pre-defined tags to put it into the proper workspace.

Dictating entire posts is now easier than ever

Another great use of this is messaging. I will often send a message to my cousins as a group iMessage. Rather than attempting to find the group in Messages, I can simply say “Message my cousins”: I am then presented with the dictation interface where I can say what I need to, and that dictation result is then passed to a message screen to review and send. This can work for single contacts as well. Thanks to the scripting I use to create the message, I now have a way to quickly send messages without creating an actual draft. This same methodology could be used to send a pre-formatted email to your assistant while you’re on the go.

You can also use actions within Drafts that can run with a simple voice shortcut. When I travel, I have a fairly standard packing list. Modifying the action I had previously created, I can start the action with “create packing list”, state the name of the trip via dictation, and then save that to my task manager of choice. It creates the draft with checkboxes and sends a single task with a link to my task manager. This action supports Todoist, Things, and GoodTask. You can customize it to your liking. Rather than building a full packing list in the other app – which could certainly be done – I decided it would be better to keep the list in Drafts and send a single action over.

As you start to do more with Drafts, you will see more and more items suggested for use. Not only does this happen in iOS 12’s Search and Settings, but also in the Shortcuts app under Siri Suggestions. By combining these suggestions with other elements of Shortcuts, you can craft more powerful shortcuts to create some great automation.

For multiple different parts of my life, keeping a running log of events with a date, timestamp, and notes has been helpful for me. Previously, I would create the draft and have to search to find it. Then I got a bit smarter and used a URL scheme to open it via Launcher or Workflow. Now, I don’t need to do either of those things. I can simply ask Siri to “update my Example Log”. Siri presents a dictation interface, and the item gets appended to the log file in Drafts.2

Just like Drafts and the customizable, modular interface that can be created, I expect that Siri shortcuts will expand user customization in a new way through automation.

WordPress Support

I don’t use it often, but I’m going to use it here: finally.

I’ve been wanting WordPress integration since I first started using Drafts as my main text editor. I’ve had to use other apps like Ulysses or Workflow/Shortcuts to actually post to my blog. Thanks to the painstaking work of getting JavaScript to work with XML-RPC, Drafts can now directly send posts to your website. There is a WordPress script object available along with convenient methods for pulling out information, but most WordPress users will be able to post everything with the action step.3

Drafts 5 launched with secure credential support. The first time you run the action, you’ll be prompted to enter your WordPress credentials.4 After that, they are securely stored via iCloud Sync. Joining the WordPress action step, there is also a WordPress script object, which provides a way to create and retrieve items from WordPress like posts, tags, categories, etc. It requires a deeper knowledge of coding to make it work, but it does utilize the entirety of the XML-RPC WordPress API.5

The basic action step will provide most users with what they need: title, content, status, format, categories, tags, slug, excerpt, and an area for two custom fields. This will get most bloggers what they need without having to delve into full scripting. Most people will need only one or two custom fields with any given post, and this addition is perfect.

The WordPress action step has a lot of options.

For my posting needs, I have three different actions: one each for standard, link, and status posts. For the standard and link posts, I have set up some scripting before the main WordPress action step to automatically create template tags. I always use title case for my post titles, and I also like having the title used for the slug; I created the slug using some simple scripting which hyphenates the title in lower case to add at the end of the main site URL.

Linked posts require the use of a custom field: depending on your website’s options, you need to either use externalLinkor linked_list_url. MacStories needs the externalLink, which I’ve added into the action. I’ve set up some regex to take the title (first) line of the draft, search for a URL, and store that in a template tag for use in the next step. This happens automatically and requires no user interaction. The post title also gets modified to remove the URL before posting.

I then added a step to pull in the categories and tags from my site for selection. This was a bit tricky, but thanks to the help of some smarter JavaScript experts,6 I was able to get this to work well. Categories are presented first, and you can multi-select the checkboxes. The same can be done for tags in the next prompt. You can also add a new tag or category in a text field at the bottom of the prompt. Finally, I’ve added some display banners to denote when actions are occurring. I would prefer more of a system-generated retrieving message, but this will do for now. I’ve even duplicated the action so that I can use different actions for my personal site and MacStories.

WordPress posting in action.

With this implementation, I find it mentally easier to use Drafts for writing and publication. I don’t have to send it through another app to publish, and as a result I’ve minimized the app count that I need to keep on my devices. From my writing module, I can use my writing tools in the keyboard row while having my publishing tools in the action list. This final bit of publishing support for me has cemented Drafts as not only the most versatile writing app, but the only writing tool I need.

Separators

In the Drafts 4 keyboard, there was a function that allowed for a separator to be created to separate actions. This was missing in the initial release of Drafts 5, but I had been told (after much badgering) that it was going to come back at some point, and even that there was a better solution coming.

Separators have taken on a whole new life in Drafts 5. They are useful not only in the extended row, but also in the action list for splitting up actions. You can have a separator appear in the keyboard row, but that is now optional, meaning you can organize your list without breaking it apart if you want.

Separators can be used differently in the keyboard row or action list.

Separators previously used the pipe | character, but you are no longer limited in that regard. You can use any traditional Unicode character or even emoji as the separator. This is helpful for larger action groups to denote where the sections are. In fact, I used to have two separate action groups for miscellaneous and work-in-progress actions. Now, I can have a single action group split up with those items. And with the way separators are implemented, I can also make further improvements in organization.

Within my miscellaneous action group, I have a few separators which are shown in the action list but are not employed in the keyboard. Using them in this manner allows me to organize actions by app. With my ever-evolving task management solution, I can quickly move actions in and out of my main GTD action group. I can move my GoodTask, Things, OmniFocus, or Todoist actions back and forth between groups with ease, keeping them all organized as I go.

Separators allow users to group actions together by app or category within a group.

I’m really pleased with the way separators have been implemented. It’s a better solution than what was previously available, and can help you organize your existing action groups in a helpful manner. Separators are a welcome addition to someone who has a lot of actions within their action groups.

Other Enhancements

This version of Drafts brings increased Dropbox support. For most users, saving your draft in a specific file format just requires the existing Dropbox action step. But for those that need full support of the API – reading, writing, sharing, etc. – Drafts now supports everything included in the API. This does require intimate knowledge of APIs and how to use them, as well as some JavaScript. I don’t have detailed knowledge of the API, so I won’t cover this in depth.

There is a practical example for my writing that works well with the Dropbox API. With Dropbox I can easily share a link to a file using the API. When I’m doing my writing, I might send it to a couple of people via a link to Dropbox in iMessage. With a single tap, I can save the piece I’m working on to Dropbox, return the shared link to the file, and open up the system share sheet. I could do this directly to a message sheet for contacts, but I like keeping the flexibility of options. It’s a simple use case, but it has saved me a lot of steps of saving a file, opening an app, getting a share link, then sharing it in another app. You can get that action here. I’m excited to see what others do with the API going forward.

There is also support for Google Drive in a similar manner to iCloud Drive, Box, OneDrive, and Dropbox via an action step and scripting. While it might not be as extensive as Dropbox, it does allow for the creation of other document types that Google Drive supports. You can create documents in plain text, Markdown, and Google Docs formats. When you add a document in the Google Docs format, the Markdown text will be converted to HTML in Drafts, and uploaded to create into a Google Docs format: one key benefit here is that uploading the HTML text means that you can pre-format a Google Doc with HTML/CSS in the step template and fully format the resulting Google Doc (fonts, font-sizes, colors, margins, etc.). Plain text and Markdown files can have text added via append/prepend, but not Google Docs, due to that conversion that takes places. I don’t use Google Drive much, but those that do will welcome these feature additions.

There are also a ton of little features in this latest release. There’s a new light gray theme which I adore.7 There’s also a clever way of ensuring that the device sleep setting can be toggled on and off with some simple scripting, allowing you to add it to other actions to keep your screen from dimming while you’re in a meeting or checking off your shopping list in Drafts.

Wrap-Up

The implications of this release are huge. Drafts can now be extended in iOS automation through Siri shortcuts, tying multiple areas together. After reading through the Shortcuts chapter of Federico’s iOS 12 review, I’m excited about all of the possibilities that will develop over time not only for my own personal use, but for other users tying into Drafts.

WordPress integration brings powerful publication possibilities, allowing users to go from capture to completion within a single app. Drafts is such a powerful text editor thanks to the extensibility through actions, Apple Watch, and share extensions, and now, Siri Shortcuts. Adding a publishing integration brings text editing to feature completion for my setup.

With the release of version 5.4.1 today, Drafts provides support for the new iPhone layouts and Apple Watch complications, and moves the Watch settings out of Watch app and into Drafts’ iOS settings. I know there’s a long roadmap ahead which will add even more features and web services to Drafts. Couple that with a brand new Mac app on the horizon, and Drafts has the potential to become a vital tool for more and more people.

Drafts is available on the App Store as a free download, with an optional pro subscription that I cannot recommend highly enough.

Ugh. This naming convention sometimes kills me… ↩︎

This requires that you copy the UUID, available from the draft information screen (labeled with the “ⓘ” indicator). ↩︎

If you don’t use WordPress, you’ll need to use the regular XML-RPC script objects. Also, if you do use WordPress, make sure you read about some troubleshooting that may need to be done if you experience issues in your WordPress install or service provider. ↩︎

You can also add multiple credentials if you write for multiple sites. This is handy for when I need to post on my site or MacStories. ↩︎

The WordPress APIs need some work. They are pretty terrible for documentation. What I’d like to see them create is a more modern REST API with built-in OAuth support, which would be better for developers and users. ↩︎

Thanks to Rose, Jeff, and Greg for their guidance. ↩︎

Which I’ve been using in screenshots throughout this post to showcase it. ↩︎